Skip to content

[EMCAL-646] Adapt EMCAL raw reader to time-based format#4128

Merged
shahor02 merged 1 commit into
AliceO2Group:devfrom
mfasDa:EMCAL-646
Aug 12, 2020
Merged

[EMCAL-646] Adapt EMCAL raw reader to time-based format#4128
shahor02 merged 1 commit into
AliceO2Group:devfrom
mfasDa:EMCAL-646

Conversation

@mfasDa
Copy link
Copy Markdown
Collaborator

@mfasDa mfasDa commented Aug 11, 2020

  • Stand-alone application now based on RawFileReader.
    Reading full timeframe for EMCAL
  • EMCAL RawReaderFile can be deleted
  • EMCAL raw parsing based on RawReaderMemory
  • Stop condition in RawReaderMemory: pageCounter = 0
  • Move to RDHAny and RDHUtils. Drop support for CDHv3
  • RawReaderMemory and AltroDecoder no longer need to
    be templated.
  • Remove EMCAL CDHv3 as support is dropped

@mfasDa mfasDa changed the title [EMCAL-646] Adapt EMCAL raw reader to time-based format [WIP][EMCAL-646] Adapt EMCAL raw reader to time-based format Aug 11, 2020
@mfasDa mfasDa force-pushed the EMCAL-646 branch 2 times, most recently from f5da2f0 to 4e1d599 Compare August 11, 2020 15:36
@mfasDa mfasDa changed the title [WIP][EMCAL-646] Adapt EMCAL raw reader to time-based format [EMCAL-646] Adapt EMCAL raw reader to time-based format Aug 11, 2020
@mfasDa
Copy link
Copy Markdown
Collaborator Author

mfasDa commented Aug 11, 2020

@shahor02 The adapted raw reader was tested with raw data from P2 taken by Martin today and showed to be working. For parsing the data within the timeframe we will need our own raw parser and cannot rely on the DPL raw parser as the firmware encodes a RCU trailer for each page which we need to chop and append a combined RCU trailer after the last page.

Otherwise we now fully rely on RawFileReader and RDHUtils for raw parsing.

The commit is ready for merging - could you please merge once the PR checks pass?

@shahor02
Copy link
Copy Markdown
Collaborator

@mfasDa OK, but it has already failed.

- Stand-alone application now based on RawFileReader.
  Reading full timeframe for EMCAL
- EMCAL RawReaderFile can be deleted
- EMCAL raw parsing based on RawReaderMemory
- Stop condition in RawReaderMemory: pageCounter = 0
- Move to RDHAny and RDHUtils. Drop support for CDHv3
- RawReaderMemory and AltroDecoder no longer need to
  be templated.
- Remove EMCAL CDHv3 as support is dropped
- Support for page splitting:
  + Take RCU trailer from first page as common RCUtrailer
  + Sum payload size of all trailers in common trailer
  + Chop page RCUtrailer and append common trailer re-
    encoded at the end of the payload.
- Fix decoding of the RCU trailer by cutting first and
  last word
- Adapt raw fitter test macro to new raw format
@mfasDa
Copy link
Copy Markdown
Collaborator Author

mfasDa commented Aug 11, 2020

@shahor02 It was a test macro for the raw fitter that was still using the old format. Fixed.

@mfasDa
Copy link
Copy Markdown
Collaborator Author

mfasDa commented Aug 12, 2020

@shahor02 I don't see where is the reason why the build test fail. The build finishes successfully and 100% of the test cases pass. Seems to be not related to this commit.

@shahor02
Copy link
Copy Markdown
Collaborator

@mfasDa : search for error in https://ali-ci.cern.ch/alice-build-logs/AliceO2Group/AliceO2/4128/d7e0d7042d1ff25e8e136dcedd236cce0edcbb60/build_O2_o2/fullLog.txt :

/mnt/mesos/sandbox/sandbox/sw/SOURCES/QualityControl/v1.0.0/v1.0.0/Modules/EMCAL/src/RawTask.cxx: In member function 'virtual void o2::quality_control_modules::emcal::RawTask::monitorData(o2::framework::ProcessingContext&)':
/mnt/mesos/sandbox/sandbox/sw/SOURCES/QualityControl/v1.0.0/v1.0.0/Modules/EMCAL/src/RawTask.cxx:249:7: error: 'o2::emcal::RawReaderMemory' is not a template
       o2::emcal::RawReaderMemory<o2::header::RAWDataHeaderV4> rawreader(gsl::span(input.payload, header->payloadSize));
       ^~
/mnt/mesos/sandbox/sandbox/sw/SOURCES/QualityControl/v1.0.0/v1.0.0/Modules/EMCAL/src/RawTask.cxx:263:42: error: 'struct o2::header::RDHAny' has no member named 'feeId'
         mPayloadSizePerDDL->Fill(headerR.feeId, payLoadSize / 1024.);
                                          ^~~~~
/mnt/mesos/sandbox/sandbox/sw/SOURCES/QualityControl/v1.0.0/v1.0.0/Modules/EMCAL/src/RawTask.cxx:267:23: error: 'struct o2::header::RDHAny' has no member named 'triggerBC'
           if (headerR.triggerBC > currentTrigger) { //new event
                       ^~~~~~~~~

@mfasDa
Copy link
Copy Markdown
Collaborator Author

mfasDa commented Aug 12, 2020

This is in QualityControl, which is a separate package. I was under the impression we first merge the change in O2 and afterwards the fix in QualityControl. Adding @Barthelemy and @knopers8 for the part in QualityControl.

mfasDa added a commit to mfasDa/QualityControl that referenced this pull request Aug 12, 2020
- EMCAL raw parser uses RDHAny and RDHUtils instead
  of a fixed raw version, needs adaption in accessing header
  fields
- RawReaderMemory and AltroDecoder are no longer
  templated due to the change to RDHAny
Change necessary due to the commit in O2: AliceO2Group/AliceO2#4128
mfasDa added a commit to mfasDa/QualityControl that referenced this pull request Aug 12, 2020
- EMCAL raw parser uses RDHAny and RDHUtils instead
  of a fixed raw version, needs adaption in accessing header
  fields
- RawReaderMemory and AltroDecoder are no longer
  templated due to the change to RDHAny
Change necessary due to the commit in O2: AliceO2Group/AliceO2#4128
mfasDa added a commit to mfasDa/QualityControl that referenced this pull request Aug 12, 2020
- EMCAL raw parser uses RDHAny and RDHUtils instead
  of a fixed raw version, needs adaption in accessing header
  fields
- RawReaderMemory and AltroDecoder are no longer
  templated due to the change to RDHAny
Change necessary due to the commit in O2: AliceO2Group/AliceO2#4128
@knopers8
Copy link
Copy Markdown
Collaborator

If that cannot be done without forcing the merge, then we need someone with admin rights for O2. I can force it only in QualityControl. Barth will be back next week, I think he can do it.

Have you confirmed that with the two PRs in, there are no errors and warnings for both CC7 and mac?

@mfasDa
Copy link
Copy Markdown
Collaborator Author

mfasDa commented Aug 12, 2020

@knopers8 This concerns QualityControl, right? Well, I just checked on mac where I don't see any warnings, however the changes are so tiny that I doubt there are new warnings introduced only for CentOS.

Under this circumstance could maybe someone from O2 (@shahor02, @ktf) force-merge the change in o2 only and afterwards the fix in QualityControl should be trivial to merge. We need this patch for commissioning of the new firmware currently done at P2.

@shahor02 shahor02 merged commit 825b75e into AliceO2Group:dev Aug 12, 2020
@knopers8
Copy link
Copy Markdown
Collaborator

@knopers8 This concerns QualityControl, right? Well, I just checked on mac where I don't see any warnings, however the changes are so tiny that I doubt there are new warnings introduced only for CentOS.

Both, since any warning in the two will fail alidist.

afterwards the fix in QualityControl should be trivial to merge.

We will also have to make a release of QC and bump it in alidist. I can do that though.

@knopers8
Copy link
Copy Markdown
Collaborator

OK, off we go...

@mfasDa mfasDa deleted the EMCAL-646 branch August 12, 2020 12:32
knopers8 added a commit to AliceO2Group/QualityControl that referenced this pull request Aug 12, 2020
* [EMCAL-646] Adapt QualityControl to changes in EMCAL raw parsing

- EMCAL raw parser uses RDHAny and RDHUtils instead
  of a fixed raw version, needs adaption in accessing header
  fields
- RawReaderMemory and AltroDecoder are no longer
  templated due to the change to RDHAny
Change necessary due to the commit in O2: AliceO2Group/AliceO2#4128

* trigger CI

Co-authored-by: knopers8 <piotr.jan.konopka@cern.ch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants